#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QPushButton>
#include <QHBoxLayout>
#include <QMouseEvent>
#include <QMainWindow>
#include <QLabel>

#include "linechartswidget.h"
#include "statusctlwidget.h"


QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

protected:
    void mousePressEvent(QMouseEvent *event) override;
    void mouseMoveEvent(QMouseEvent *event) override;
private:
    QPoint m_dragPosition;  // 用于记录鼠标按下时的位置，实现窗口拖动功能
    QPushButton *m_minSizeButton;  // 最小化按钮
    QPushButton *m_maxSizeButton;  // 最大化按钮
    QPushButton *m_closeButton;  // 关闭按钮

    QLabel *m_labSoftLog;
    QLabel *m_labSoftName;
    QLabel *m_labSoftVersion;
    QWidget *mainWidget;

    int iMainWindowStatus = 0;  // 0:最大状态, 1:最小状态


    void setupTitleBar();  // 用于创建和布局自定义按钮的函数

    void setupCenterWidget();

    // 主布局, 这里装titleBarWidget, centerWidget这两块,
    // QVBoxLayout *mainLayout;

    // QWidget *titleBarWidget;
    // QWidget *centerWidget;

    // 指定窗口的大小
    QSize m_sizeMax, m_sizeMin, m_currentSize, m_oldSize;


public slots:
    void setMainWidget();



private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
